package com.bcq.bcqrpc.server;

import io.vertx.core.Vertx;

/**
 * 编写基于Vert.x 实现的web 服务器VertxHttpServer，能够监听指定端口并处理请求。
 */
public class VertxHttpServer implements HttpServer {

        /**
         * 启动服务器
         *
         * @param port
         */
        public void doStart(int port) {
            // 创建 Vert.x 实例
            Vertx vertx = Vertx.vertx();

            // 创建 HTTP 服务器
            io.vertx.core.http.HttpServer server = vertx.createHttpServer();

            // 监听端口并处理请求
            server.requestHandler(new HttpServerHandler());

            // 启动 HTTP 服务器并监听指定端口
            server.listen(port, result -> {
                if (result.succeeded()) {
                    System.out.println("服务器现在正在侦听端口 " + port);
                } else {
                    System.err.println("Failed to start server: " + result.cause());
                }
            });
        }
}
